package com.dynamic.datasource.property;

import com.dynamic.datasource.property.druid.DruidDataSourceConfig;
import com.zaxxer.hikari.HikariConfig;
import lombok.Data;

import javax.sql.DataSource;

/**
 * @author 王先堂
 * @Description 数据源配置信息
 * @createTime 2022/03/24/ 10:11:00
 */
@Data
public class DataSourceProperty {
    /**
     * 是否开启spy
     */
    Boolean p6spy = false;
    /**
     * 是否开启seata(XA和TA模式)
     */
    String seata = "";
    /**
     * 数据源名称(唯一)
     */
    private String name;
    /**
     * JDBC driver
     */
    private String driverClassName;
    /**
     * JDBC url 地址
     */
    private String url;
    /**
     * JDBC 用户名
     */
    private String username;
    /**
     * JDBC 密码
     */
    private String password;
    /**
     * 是否延迟创建数据源
     */
    private Boolean lazy = false;
    /**
     * 连接池类型（默认hikari）
     */
    private Class<? extends DataSource> type = com.zaxxer.hikari.HikariDataSource.class;
    /**
     * hikari连接池配置
     */
    private HikariConfig hikari;

    /**
     * druid连接池配置
     */
    private DruidDataSourceConfig druid;
}
